/* 
vuex最核心的管理对象store (仓库)
*/
import Vue from 'vue'
import Vuex from 'vuex'

// 声明使用vue插件
Vue.use(Vuex)

// 向外暴露store对象
export default new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state, num) {
      state.count += num
    }
  },
  actions: {
    asyncIncrement ({commit}, num) {
      setTimeout(() => {
        commit('increment', num)
      }, 1000)
    }
  },
  getters: {
    evenOrOdd (state) {
      return state.count %2 == 1 ? '奇数' : '偶数'
    }
  },
})
